package com.pai4j.zwiki.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 项目提交请求DTO
 *
 * @author pai4j
 * @since 2025-10-12
 */
@Data
public class ProjectSubmitRequest {

    /**
     * 用户ID
     */
    @NotNull(message = "用户ID不能为空")
    private Long userId;

    /**
     * 项目名称
     */
    @NotBlank(message = "项目名称不能为空")
    private String projectName;

    /**
     * GitHub仓库URL（sourceType为github时必填）
     */
    private String repositoryUrl;

    /**
     * 项目来源类型：github, zip
     */
    @NotBlank(message = "项目来源类型不能为空")
    private String sourceType;

    /**
     * 是否使用自定义模板
     */
    private Boolean hasCustomTemplate = false;

    /**
     * 论文标题（可选）
     */
    private String thesisTitle;

    /**
     * 论文作者（可选）
     */
    private String thesisAuthor;

    /**
     * 论文专业（可选）
     */
    private String thesisMajor;
}

